The present specification describes a computer system with a run time configurable system BIOS.
Certain hard disks, including a hard disk on a personal computer, are often xe2x80x9cpartitionedxe2x80x9d into multiple logical subdivisions. Each partition is essentially a separate portion of the disk, which is addressed and handled separately from the other partitions. The partition attribute table of the disk tells the operating system the extent of the partition as well as its type.
The partition table in a personal computer includes entries showing beginning, end, type, and size for each partition. There are also certain rules governing the partitions. For example, all sectors and tracks in the partition must be contiguous.
The normal boot process of a PC type computer actuates the computer for reading from the partitions. At an appropriate point during the boot process, the system BIOS investigates the partition table to find the different disk partitions. The operating system is loaded from a bootable partition. After the operating system is fully loaded, the bootable partition, and all other partitions that the system is capable of interpreting, become fully accessible by the user. These partitions that the system is capable of understanding are referred to herein as xe2x80x9clegalxe2x80x9d partitions. Partition types that the operating system cannot recognize are correspondingly referred to as xe2x80x9cillegalxe2x80x9d.
Most of the time, the user wants access to all programs in the PC. There are times, however, when it is desirable for a party, e.g., a system integrator, to separate certain contents in the PC from certain other contents. For example, a special program or set of programs (a xe2x80x9csuitexe2x80x9d) for occasional use by the end user or by a repairman might be put in a hidden disk area.
This could be hidden for several different reasons. A suite could be for use of trained personnel only. It could be programs that the end user must not modify in any way. A suite could also require a special file structure or boot method not compatible with normal system operation.
A preferred way of providing such a separate suite in the past has been to create a separate dedicated partition for just the suite.
The present inventor recognized that there are certain limitations with this technique. For example, the user can still access this suite. It is often also difficult to boot directly to this partition. Under certain circumstances, this hidden portion on the special partition could be undesirably modified. Or the master boot record or file attribute table may be inadvertently overwritten or xe2x80x9crefreshedxe2x80x9d.
The present system describes an alternative to the above.
The present system operates a computer hard disk to allow booting to either the standard partition, or a non-standard partition based on whether a specified operation, e.g. a specified key sequence at a specified time, a hot xe2x80x9ckeyxe2x80x9d depression, is initiated, e.g., during start up of the computer hard disk. If the operation is not initiated, then the operation returns and hence boots from the next partition. The computer hard disk is started in the normal way, using the normal operating system, and using the driver from the master boot record (MBR). This reads only the standard partitions of the disk.
If the operation is initiated, then a second driver is used that is resident outside the master boot record. This second driver is combined with the main MBR, on the fly, to create a new MBR that is capable of reading the non-standard partition of the hard disk.
In one mode, the system boots to either the standard part, or the non-standard part. When booting to the non-standard part, the whole partition table is available, and thus all parts of the disk, legal and illegal partitions, are all available.